cmake_minimum_required(VERSION 3.12.2)

set (CMAKE_CXX_STANDARD 11)
set (CMAKE_CXX_STANDARD_REQUIRED ON)

project(3dod_base)

# OpenCV
find_package(OpenCV REQUIRED)

# Threads
find_package(Threads REQUIRED)

set(CMAKE_CONFIGURATION_TYPES "Debug;Release"
    CACHE STRING "Configuration types" FORCE)

add_executable(3dod_base
	main.cpp
	MainProgram.cpp
	StreamWriter.cpp
)

# Preprocessor definitions
target_compile_definitions(3dod_base PRIVATE
  $<$<CONFIG:Debug>:_UNICODE;_DEBUG;_CONSOLE>
  $<$<CONFIG:Release>:_UNICODE;NDEBUG;_CONSOLE>
)

target_include_directories(3dod_base PRIVATE
  "${PROJECT_BINARY_DIR}/../KCom_static"
  "${PROJECT_BINARY_DIR}/../3dod_detector"
)

target_link_libraries (3dod_base
  ${CMAKE_THREAD_LIBS_INIT}
  ${OpenCV_LIBS}
  KCom_static
  3dod_detector
#  cuda_detector
  stdc++fs
)
